#import <Foundation/Foundation.h>
@class DDProduct;
typedef void (^loginBlock) (NSDictionary *dict);
typedef NS_ENUM(NSInteger,RequestType){
    JTWRequestTypeLogin = 1,
    JTWRequestTypeRegister,
    JTWRequestTypeYJ_Register,
    JTWRequestTypeVisitor,
    JTWRequestTypeQuickRegister,
    JTWRequestTypeAuthenticate,
    JTWRequestTypeVerifyCode,
    JTWRequestTypeResetPWD,
    JTWRequestTypeAlterPWD,
    JTWRequestTypeBind,
    JTWRequestTypeExchange,
    JTWRequestTypePrepareZF,
    JTWRequestTypeZF
};
@protocol JTWRequestDelegate<NSObject>
@optional
- (void)yjd_didRequestWithReceiveData:(NSDictionary *)dict error:(NSError *)error;
@end
@interface DDRequest : NSObject
@property (nonatomic, weak) id<JTWRequestDelegate>delegate;
@property (nonatomic, assign) RequestType type;
@property (nonatomic, strong) NSURLSessionTask *task;
- (void)yjd_registerRequst:(NSDictionary *)dict;
- (void)yjd_YJ_registerRequst;
- (void)yjd_visitorRequest;
- (void)yjd_loginRequest:(NSDictionary *)dict;
- (void)yjd_loginRequestWithBlock:(loginBlock)block;
- (void)yjd_authenticateRequest:(NSDictionary *)dict;
- (void)yjd_verifyCodeRequest:(NSDictionary *)dict;
- (void)yjd_resetPWDRequest:(NSDictionary *)dict;
- (void)yjd_alterPWDRequest:(NSDictionary *)dict;
- (void)yjd_bindRequest:(NSDictionary *)dict;
- (void)yjd_prepareZFRequest:(DDProductPara )product;
- (void)yjd_zfRequest:(NSDictionary * )product;
- (void)yjd_exchangeRequest:(NSDictionary *)dict;
@end
